package com.agritech.smartfarming.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 环境数据类，用于表示农田环境信息
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class EnvironmentData {
    // 土壤数据
    private double soilMoisture;    // 土壤湿度 (%)
    private double soilPH;          // 土壤pH值
    private double soilNutrient;    // 土壤养分含量指数 (0-100)
    
    // 气象数据
    private double temperature;     // 温度 (℃)
    private double humidity;        // 空气湿度 (%)
    private double windSpeed;       // 风速 (m/s)
    private String windDirection;   // 风向
    
    // 作物数据
    private double cropHeight;      // 作物高度 (cm)
    private String cropStatus;      // 作物生长状态
    
    // 位置信息
    private Position position;      // 数据采集位置
    
    @Override
    public String toString() {
        return String.format(
            "环境数据 [位置: %s]\n" +
            "土壤数据: 湿度=%.1f%%, pH值=%.1f, 养分指数=%.1f\n" +
            "气象数据: 温度=%.1f℃, 湿度=%.1f%%, 风速=%.1fm/s, 风向=%s\n" +
            "作物数据: 高度=%.1fcm, 状态=%s",
            position, soilMoisture, soilPH, soilNutrient,
            temperature, humidity, windSpeed, windDirection,
            cropHeight, cropStatus
        );
    }
} 